<script>
    //同步优先级是最高的

    //start end promise1 promise2 setTimeout

    //异步方法都会添加到任务队列

    //任务队列又分为宏任务和微任务

    //微任务的优先级要比宏任务高

    //为什么promise的执行优先级要比setTimeout高,因为promise属于微任务

    console.log("start");
    setTimeout(()=>{
        console.log('setTimeout');
        
    },0)
    Promise.resolve()
    .then(()=>{
        console.log('promise1');
        
    })
    .then(()=>{
        console.log('promise2');
        
    })
    console.log('end');
    // start end setTimeout promise1 promise2

    //start  promise1 promise2 setTimeout end
</script>